

// js浮点数精度计算问题

  //乘法 
  function accMul(arg1,arg2) 
  { 
  var m=0,s1=arg1.toString(),s2=arg2.toString(); 
  try{m+=s1.split(".")[1].length}catch(e){} 
  try{m+=s2.split(".")[1].length}catch(e){} 
  return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 
  } 
 //加法 
 function accAdd(arg1,arg2){ 
 var r1,r2,m; 
 try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
 try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
 m=Math.pow(10,Math.max(r1,r2)) 
 return (arg1*m+arg2*m)/m 
 } 
 //减法
function Subtr(arg1,arg2){ 
  var r1,r2,m,n; 
  try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
  try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
  m=Math.pow(10,Math.max(r1,r2)); 
  n=(r1>=r2)?r1:r2; 
  return ((arg1*m-arg2*m)/m).toFixed(n); 
}

// function amend(num1,num2,symbol){
//   var str1=num1.toString(),str2=num2.toString(),result,str1Length,str2Length
//     //解决整数没有小数点方法
//     try {str1Length= str1.split('.')[1].length} catch (error) {str1Length=0}
//     try {str2Length= str2.split('.')[1].length} catch (error) {str2Length=0}
//     var step=Math.pow(10,Math.max(str1Length,str2Length))
//     // 
//     console.log(step);
//     switch (symbol) {
//         case "+":
//             result= (num1*step+num2*step)/step
//             break;
//         case "-":
//             result= (num1*step-num2*step)/step
//             break;
//         case "*":
//             result= ((num1*step)*(num2*step)) / step/step
//             break;
//         case "/":
//             result= (num1*step)/(num2*step)
//             break;
//         default:
//             break;
//     }
//     return result
    
// }

 
function showLoading(text){
  wx.showLoading({
    title: text
  });
}

function hideLoading(){
  wx.hideLoading();
}

function showSuccess(text){
  wx.showToast({
    title: text,
  });
}

function showFail(text){
  wx.hideLoading();
  showToast(text);
}

function showToast(text){
  wx.showToast({
    title: text,
    icon: 'none'
  });
}

function goBack() {
  wx.navigateBack();
}

function saveAppValue(key, value) {
  wx.setStorageSync(key, value);
}

function getAppValue(key) {
  return wx.getStorageSync(key);
}

module.exports = {
  showLoading,
  hideLoading,
  showSuccess,
  showFail,
  showToast,
  goBack,
  saveAppValue,
  getAppValue,
  accMul,
  // amend,
  Subtr,
  accAdd,
  accMul
}
